package com.cloudkinto.service.order.vo.amazon;

import com.cloudkinto.service.order.vo.amazon.amazonorder.Money;

import java.util.List;

/**
 * Author Administrator
 *
 * @Des
 * @Version
 * @Date 2021/5/25
 */
public class OrderSPFulfillment {
    private String marketplaceId;
    private String sellerFulfillmentOrderId;
    private String displayableOrderId;
    private String displayableOrderDate;
    private String displayableOrderComment;
    /**
     * 发货标准
     * STANDARD (value: "Standard") 标准
     * EXPEDITED (value: "Expedited") 加急
     * PRIORITY (value: "Priority") 优先
     * SCHEDULEDDELIVERY (value: "ScheduledDelivery") 指定日期
     */
    private String shippingSpeedCategory;
    private String destinationAddress;
    /**
     * SHIP (value: "Ship")
     * HOLD (value: "Hold"）
     */
    private String fulfillmentAction;
    /**
     * FILLORKILL (value: "FillOrKill")
     * FILLALL (value: "FillAll")
     * FILLALLAVAILABLE (value: "FillAllAvailable")
     */
    private String fulfillmentPolicy;
    private CODSetting codSettings;
    private String shipFromCountryCode;


    private List<FulfillmentOrderSPItem> items;

    public String getMarketplaceId() {
        return marketplaceId;
    }

    public void setMarketplaceId(String marketplaceId) {
        this.marketplaceId = marketplaceId;
    }

    public String getSellerFulfillmentOrderId() {
        return sellerFulfillmentOrderId;
    }

    public void setSellerFulfillmentOrderId(String sellerFulfillmentOrderId) {
        this.sellerFulfillmentOrderId = sellerFulfillmentOrderId;
    }

    public String getDisplayableOrderId() {
        return displayableOrderId;
    }

    public void setDisplayableOrderId(String displayableOrderId) {
        this.displayableOrderId = displayableOrderId;
    }

    public String getDisplayableOrderDate() {
        return displayableOrderDate;
    }

    public void setDisplayableOrderDate(String displayableOrderDate) {
        this.displayableOrderDate = displayableOrderDate;
    }

    public String getDisplayableOrderComment() {
        return displayableOrderComment;
    }

    public void setDisplayableOrderComment(String displayableOrderComment) {
        this.displayableOrderComment = displayableOrderComment;
    }

    public String getShippingSpeedCategory() {
        return shippingSpeedCategory;
    }

    public void setShippingSpeedCategory(String shippingSpeedCategory) {
        this.shippingSpeedCategory = shippingSpeedCategory;
    }

    public String getDestinationAddress() {
        return destinationAddress;
    }

    public void setDestinationAddress(String destinationAddress) {
        this.destinationAddress = destinationAddress;
    }

    public String getFulfillmentAction() {
        return fulfillmentAction;
    }

    public void setFulfillmentAction(String fulfillmentAction) {
        this.fulfillmentAction = fulfillmentAction;
    }

    public String getFulfillmentPolicy() {
        return fulfillmentPolicy;
    }

    public void setFulfillmentPolicy(String fulfillmentPolicy) {
        this.fulfillmentPolicy = fulfillmentPolicy;
    }

    public CODSetting getCodSettings() {
        return codSettings;
    }

    public void setCodSettings(CODSetting codSettings) {
        this.codSettings = codSettings;
    }

    public String getShipFromCountryCode() {
        return shipFromCountryCode;
    }

    public void setShipFromCountryCode(String shipFromCountryCode) {
        this.shipFromCountryCode = shipFromCountryCode;
    }

    public class CODSetting {
        private Money isCodRequired;
        private Money codCharge;
        private Money codChargeTax;
        private Money shippingCharge;
        private Money shippingChargeTax;

        public Money getIsCodRequired() {
            return isCodRequired;
        }

        public void setIsCodRequired(Money isCodRequired) {
            this.isCodRequired = isCodRequired;
        }

        public Money getCodCharge() {
            return codCharge;
        }

        public void setCodCharge(Money codCharge) {
            this.codCharge = codCharge;
        }

        public Money getCodChargeTax() {
            return codChargeTax;
        }

        public void setCodChargeTax(Money codChargeTax) {
            this.codChargeTax = codChargeTax;
        }

        public Money getShippingCharge() {
            return shippingCharge;
        }

        public void setShippingCharge(Money shippingCharge) {
            this.shippingCharge = shippingCharge;
        }

        public Money getShippingChargeTax() {
            return shippingChargeTax;
        }

        public void setShippingChargeTax(Money shippingChargeTax) {
            this.shippingChargeTax = shippingChargeTax;
        }
    }

    public class FulfillmentOrderSPItem {
        private String sellerSku;
        private String sellerFulfillmentOrderItemId;
        private Integer quantity;
        //[optional]
        private String giftMessage;
        private String displayableComment;
        private String fulfillmentNetworkSku;
        private String perUnitDeclaredValue;
        private String perUnitPrice;
        private String perUnitTax;

        public String getSellerSku() {
            return sellerSku;
        }

        public void setSellerSku(String sellerSku) {
            this.sellerSku = sellerSku;
        }

        public String getSellerFulfillmentOrderItemId() {
            return sellerFulfillmentOrderItemId;
        }

        public void setSellerFulfillmentOrderItemId(String sellerFulfillmentOrderItemId) {
            this.sellerFulfillmentOrderItemId = sellerFulfillmentOrderItemId;
        }

        public Integer getQuantity() {
            return quantity;
        }

        public void setQuantity(Integer quantity) {
            this.quantity = quantity;
        }

        public String getGiftMessage() {
            return giftMessage;
        }

        public void setGiftMessage(String giftMessage) {
            this.giftMessage = giftMessage;
        }

        public String getDisplayableComment() {
            return displayableComment;
        }

        public void setDisplayableComment(String displayableComment) {
            this.displayableComment = displayableComment;
        }

        public String getFulfillmentNetworkSku() {
            return fulfillmentNetworkSku;
        }

        public void setFulfillmentNetworkSku(String fulfillmentNetworkSku) {
            this.fulfillmentNetworkSku = fulfillmentNetworkSku;
        }

        public String getPerUnitDeclaredValue() {
            return perUnitDeclaredValue;
        }

        public void setPerUnitDeclaredValue(String perUnitDeclaredValue) {
            this.perUnitDeclaredValue = perUnitDeclaredValue;
        }

        public String getPerUnitPrice() {
            return perUnitPrice;
        }

        public void setPerUnitPrice(String perUnitPrice) {
            this.perUnitPrice = perUnitPrice;
        }

        public String getPerUnitTax() {
            return perUnitTax;
        }

        public void setPerUnitTax(String perUnitTax) {
            this.perUnitTax = perUnitTax;
        }
    }
}
